package com.cehome.cloudbox.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
import com.cehome.cloudbox.doman.vo.*;
import com.cehome.cloudbox.entity.ProcDefExtend;

import java.util.List;

/**
 * <p>
 * 流程定义扩展表 服务类
 * </p>
 *
 */
public interface IProcDefExtendService extends IService<ProcDefExtend> {

    /**
     * 分页查询
     *
     * @param queryVo 流程定义扩展查询接口Vo
     * @return 流程定义扩展
     */
    Page<ProcDefExtendShowVo> page(ProcDefExtendQueryVo queryVo);

    /**
     * 分页查询
     *
     * @param queryVo 流程定义扩展查询接口Vo
     * @return 流程定义扩展
     */
    Page<ProcDefExtendShowVo> selectFlowAblePage(ProcDefExtendQueryVo queryVo);

    /**
     * 删除流程定义扩展表
     *
     * @param id 流程定义扩展ID
     */
    void delete(Long id);

    /**
     * 发布流程定义扩展表
     *
     * @param id 流程定义扩展ID
     */
    void deploy(Long id);



    boolean saveProcDefExtend(ProDefExtemdInfo defExtemdInfo);


    boolean updateProcDefExtend(ProDefExtemdInfo defExtemdInfo);


    TaskInfo selectApproveCandidates(ProDefExtemdInfo defExtemdInfo);

    TaskInfo selectNextApproveCandidates(ProDefExtemdInfo defExtemdInfo);

}
